========================================================
本报告探讨了一个包含大约4898瓶白葡萄酒的质量评分和属性的数据集。
P. Cortez, A. Cerdeira, F. Almeida, T. Matos and J. Reis. Modeling wine preferences by data mining from physicochemical properties. In Decision Support Systems, Elsevier, 47(4):547-553. ISSN: 0167-9236.
Available at: [@Elsevier] http://dx.doi.org/10.1016/j.dss.2009.05.016 [Pre-press (pdf)] http://www3.dsi.uminho.pt/pcortez/winequality09.pdf [bib] http://www3.dsi.uminho.pt/pcortez/dss09.bib
## [1] 4898 13
## 'data.frame': 4898 obs. of 13 variables:
## $ X : int 1 2 3 4 5 6 7 8 9 10 ...
## $ fixed.acidity : num 7 6.3 8.1 7.2 7.2 8.1 6.2 7 6.3 8.1 ...
## $ volatile.acidity : num 0.27 0.3 0.28 0.23 0.23 0.28 0.32 0.27 0.3 0.22 ...
## $ citric.acid : num 0.36 0.34 0.4 0.32 0.32 0.4 0.16 0.36 0.34 0.43 ...
## $ residual.sugar : num 20.7 1.6 6.9 8.5 8.5 6.9 7 20.7 1.6 1.5 ...
## $ chlorides : num 0.045 0.049 0.05 0.058 0.058 0.05 0.045 0.045 0.049 0.044 ...
## $ free.sulfur.dioxide : num 45 14 30 47 47 30 30 45 14 28 ...
## $ total.sulfur.dioxide: num 170 132 97 186 186 97 136 170 132 129 ...
## $ density : num 1.001 0.994 0.995 0.996 0.996 ...
## $ pH : num 3 3.3 3.26 3.19 3.19 3.26 3.18 3 3.3 3.22 ...
## $ sulphates : num 0.45 0.49 0.44 0.4 0.4 0.44 0.47 0.45 0.49 0.45 ...
## $ alcohol : num 8.8 9.5 10.1 9.9 9.9 10.1 9.6 8.8 9.5 11 ...
## $ quality : int 6 6 6 6 6 6 6 6 6 6 ...
## X fixed.acidity volatile.acidity citric.acid
## Min. : 1 Min. : 3.800 Min. :0.0800 Min. :0.0000
## 1st Qu.:1225 1st Qu.: 6.300 1st Qu.:0.2100 1st Qu.:0.2700
## Median :2450 Median : 6.800 Median :0.2600 Median :0.3200
## Mean :2450 Mean : 6.855 Mean :0.2782 Mean :0.3342
## 3rd Qu.:3674 3rd Qu.: 7.300 3rd Qu.:0.3200 3rd Qu.:0.3900
## Max. :4898 Max. :14.200 Max. :1.1000 Max. :1.6600
## residual.sugar chlorides free.sulfur.dioxide
## Min. : 0.600 Min. :0.00900 Min. : 2.00
## 1st Qu.: 1.700 1st Qu.:0.03600 1st Qu.: 23.00
## Median : 5.200 Median :0.04300 Median : 34.00
## Mean : 6.391 Mean :0.04577 Mean : 35.31
## 3rd Qu.: 9.900 3rd Qu.:0.05000 3rd Qu.: 46.00
## Max. :65.800 Max. :0.34600 Max. :289.00
## total.sulfur.dioxide density pH sulphates
## Min. : 9.0 Min. :0.9871 Min. :2.720 Min. :0.2200
## 1st Qu.:108.0 1st Qu.:0.9917 1st Qu.:3.090 1st Qu.:0.4100
## Median :134.0 Median :0.9937 Median :3.180 Median :0.4700
## Mean :138.4 Mean :0.9940 Mean :3.188 Mean :0.4898
## 3rd Qu.:167.0 3rd Qu.:0.9961 3rd Qu.:3.280 3rd Qu.:0.5500
## Max. :440.0 Max. :1.0390 Max. :3.820 Max. :1.0800
## alcohol quality
## Min. : 8.00 Min. :3.000
## 1st Qu.: 9.50 1st Qu.:5.000
## Median :10.40 Median :6.000
## Mean :10.51 Mean :5.878
## 3rd Qu.:11.40 3rd Qu.:6.000
## Max. :14.20 Max. :9.000
## X fixed.acidity volatile.acidity citric.acid residual.sugar chlorides
## 1 1 7.0 0.27 0.36 20.7 0.045
## 2 2 6.3 0.30 0.34 1.6 0.049
## 3 3 8.1 0.28 0.40 6.9 0.050
## 4 4 7.2 0.23 0.32 8.5 0.058
## 5 5 7.2 0.23 0.32 8.5 0.058
## 6 6 8.1 0.28 0.40 6.9 0.050
## free.sulfur.dioxide total.sulfur.dioxide density pH sulphates alcohol
## 1 45 170 1.0010 3.00 0.45 8.8
## 2 14 132 0.9940 3.30 0.49 9.5
## 3 30 97 0.9951 3.26 0.44 10.1
## 4 47 186 0.9956 3.19 0.40 9.9
## 5 47 186 0.9956 3.19 0.40 9.9
## 6 30 97 0.9951 3.26 0.44 10.1
## quality
## 1 6
## 2 6
## 3 6
## 4 6
## 5 6
## 6 6
该数据集包含了13个变量,4898行观察值。其中变量X与ID重复,将其删除。
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 3.000 5.000 6.000 5.878 6.000 9.000
##
## 3 4 5 6 7 8 9
## 20 163 1457 2198 880 175 5
quality的分布很接近正态分布,峰值集中在6。共有3,4,5,6,7,8,9,7个评分等级。我想知道,是什么属性影响了白葡萄酒的质量评分。
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 3.800 6.300 6.800 6.855 7.300 14.200
##
## 3.8 3.9 4.2 4.4 4.5 4.6 4.7 4.8 4.9 5 5.1 5.2 5.3 5.4 5.5
## 1 1 2 3 1 1 5 9 7 24 23 28 27 28 31
## 5.6 5.7 5.8 5.9 6 6.1 6.15 6.2 6.3 6.4 6.45 6.5 6.6 6.7 6.8
## 71 88 121 103 184 155 2 192 188 280 1 225 290 236 308
## 6.9 7 7.1 7.15 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8 8.1 8.2
## 241 232 200 2 206 178 194 123 153 93 93 74 80 56 56
## 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9 9.1 9.2 9.3 9.4 9.5 9.6 9.7
## 52 35 32 25 15 18 16 17 6 21 3 11 2 5 4
## 9.8 9.9 10 10.2 10.3 10.7 11.8 14.2
## 8 2 3 1 2 2 1 1
白葡萄酒的fixed.acidity(固定酸度)是葡萄酒酸度的一种,与保鲜度有关,影响口感的酸爽。 fixed.acidity分布呈钟型分布,右长尾,其最大值比中值和三分位数高得多。 中位数是6.8,平均值是6.855。 通过对fixed.acidity进行log10转换,得到一个正态分布。
volatile.acidity(挥发性酸度):葡萄酒中醋酸的含量,过高会导致令人不愉快的醋味。 数据呈钟型分布,右长尾,log10转换后volatile.acidity接近正态分布,峰值出现在0.2-0.3之间。
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.2700 0.3200 0.3342 0.3900 1.6600
citric.acid(柠檬酸):少量的柠檬酸可以给葡萄酒增添“新鲜”和风味 分布接近正态分布,中位数是0.32,平均值为0.33,分布在0.5附近出现变化。
综观以上三种酸:fixed.acidity,volatile.acidity以及citric.acid,其中fixed.acidity含量最大,其他两种酸大部分都是0.X的微量。而且fixed.acidity出现了右长尾分布,我会进一步分析fixed.acidity与quality的关系。
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.600 1.700 5.200 6.391 9.900 65.800
residual.sugar(残糖):发酵结束后剩余的糖的量,即造成葡萄酒中甜度口感的元素。 大量的值集中在1-2之间,中位数是5.2, 平均值是6.391 residual.suga呈右长尾分布,log10转换后的residual.suga分布呈双峰分布,峰值第一次在1.5左右,第二次接近9左右。
chlorides(氯化物):葡萄酒中盐的含量,即造成葡萄酒中咸口感的元素 呈右长尾数据分布,大部分在0.0~0.1之间。 log10转换后的chlorides分布接近正态分布,峰值在0.05左右。
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 2.00 23.00 34.00 35.31 46.00 289.00
## Warning: Removed 26 rows containing non-finite values (stat_bin).
## Warning: Removed 2 rows containing missing values (geom_bar).
free.sulfur.dioxide(游离二氧化硫):SO2的自由形态存在于SO2分子(溶解气体)与亚硫酸氢盐离子之间的平衡状态;它可以防止微生物的生长和葡萄酒的氧化。该变量是造成葡萄酒特殊香味的元素。 分布呈正态分布,分布比较均匀,大量数值集中在20-40之间,在290附近出现一个异常值。修整最大值,设置更小的binsidth后,发现峰值出现在30左右。
##
## 9 10 18 19 21 24 25 26 28 29 30 31
## 1 1 2 1 1 3 1 1 4 2 2 1
## 33 34 37 40 41 44 45 46 47 48 49 50
## 1 2 3 3 4 1 2 2 3 1 4 3
## 51 53 54 55 56 57 58 59 60 61 62 63
## 3 2 2 7 5 7 2 5 6 9 2 10
## 64 65 66 67 68 69 70 71 72 73 74 75
## 6 8 7 12 14 10 8 12 17 20 12 14
## 76 77 78 79 80 81 82 83 84 85 86 87
## 26 14 17 15 23 21 17 17 27 20 25 39
## 88 89 90 91 92 93 94 95 96 97 98 99
## 15 23 30 22 30 42 28 34 28 41 49 34
## 100 101 102 103 104 105 106 107 108 109 110 111
## 37 47 37 34 44 41 32 45 32 37 47 69
## 112 113 114 115 115.5 116 117 118 119 120 121 122
## 31 61 54 45 1 47 57 55 47 42 37 54
## 123 124 125 126 127 128 129 129.5 130 131 132 133
## 33 53 49 50 38 54 32 2 46 47 47 50
## 134 135 136 137 138 139 140 141 142 143 144 145
## 47 41 38 27 45 28 52 29 46 44 35 30
## 146 147 148 149 150 151 152 153 154 155 156 157
## 31 31 44 48 54 39 43 32 27 39 47 31
## 158 159 160 161 162 162.5 163 164 164.5 165 166 167
## 38 34 32 37 34 2 36 27 1 19 39 32
## 168 169 170 171 172 173 174 175 176 176.5 177 178
## 43 29 32 27 28 32 28 16 24 1 27 41
## 179 180 181 182 183 184 185 186 187 188 189 189.5
## 26 34 21 30 35 30 18 25 19 23 30 3
## 190 191 192 193 194 195 196 197 198 199 200 201
## 17 28 18 15 21 17 16 28 18 10 18 16
## 202 203 204 205 206 207 208 209 210 211 212 212.5
## 13 7 13 12 14 10 10 11 23 8 15 6
## 213 214 215 216 216.5 217 217.5 218 218.5 219 219.5 220
## 14 10 10 8 1 4 1 4 3 6 1 7
## 221 222 223 224 225 226 227 228 229 230 231 232
## 13 7 9 9 4 3 8 8 9 6 5 1
## 233 234 234.5 235 236 237 238 238.5 240 241 242 243
## 2 7 1 2 3 3 5 1 7 2 2 6
## 244 245 246 247 248 249 249.5 251 252 253 255 256
## 2 5 1 3 3 2 1 4 2 3 1 2
## 259 260 272 282 294 303 307.5 313 344 366.5 440
## 1 1 2 1 1 1 1 1 1 1 1
total.sulfur.dioxide(二氧化硫总量):游离和结合态S02的量;在低浓度下,SO2在葡萄酒中几乎检测不到,但当游离SO2浓度超过50ppm时,SO2在葡萄酒的鼻子和味道中变得明显。 分布呈正态分布,分布比较较为均匀。数值大部分为整数。
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.9871 0.9917 0.9937 0.9940 0.9961 1.0390
## Warning: Removed 3 rows containing non-finite values (stat_bin).
## Warning: Removed 2 rows containing missing values (geom_bar).
density(密度):这取决于酒精和糖的含量。 分布很接近正态分布,中位数为0.9937,平均值为0.9940。修整最大值后,发现数值大量集中在0.99-1之间。
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 2.720 3.090 3.180 3.188 3.280 3.820
pH:描述葡萄酒的酸度或碱性,范围从0(非常酸性)到14(非常碱性);大多数葡萄酒的pH值在3-4之间。 分布呈正态分布,中位数是3.18,平均值是3.18,峰值在3.25左右。
sulphates(硫酸盐):一种葡萄酒添加剂,可提高二氧化硫(S02)水平,具有抗菌和抗氧化作用。 分布接近正态分布,右长尾分布,大量数值集中于0.3-0.5。
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 8.00 9.50 10.40 10.51 11.40 14.20
alcohol(酒精):葡萄酒中酒精含量的百分比。分布接近右偏态,中位数是10.4,平均值是10.51,有两个高峰,一个大的在9.5左右,一个小的在12.5左右。
本数据集有4898行观测值,共12个属性变量,其中连续变量有fixed.acidity,volatile.acidity, citric.acid, residual.sugar,chlorides,sulphates,free.sulfur.dioxide,total.sulfur.dioxide,alcohol,density,分类变量有quality。
由于此次探索的主要问题是关于影响⽩葡萄酒的质量的因素,所以我的数据集中,主要特征是quality变量。
# 变量关系图
ggcorr(pf, label = TRUE, label_size = 6 , label_round = 2, hjust = 0.85)
从以上关系图可以得到, 与quality存在较高的负相关度的变量为:density,total.sulfur.dioxide 与quality存在较高的正相关度的变量为:alcohol,pH 其他相关度较高的变量有: residual.sugar 与 density 相关度最高:0.84; free.sulfur.dioxide 和 total.sulfur.dioxide 相关度为:0.62 total.sulfur.dioxide 和 density 的相关度为:0.53 alcohol 与 density : -0.78 alcohol 与 total.sulfur.dioxide: -0.45 alcohol 与 residual.sugar: -0.45 fixed.acidity 与 pH:-0.43
否
其中fixed.acidity,volatile.acidity,residual.sugar,sulphates出现右长尾分布,其他变量均为接近正态分布。
我们将quality的数据类型修订为factor类,为了更好地进行分类分析。
# 将quality的数据类型修订为factor类
pf$quality <- factor(pf$quality)
与quality正相关度最高是alcohol,我们先来探索quality与alcohol的关系
箱线图结合散点图,不仅可以看到每个质量等级的数量分布情况,线性回归线减少极端值的影响,更好的反映数据之间的趋势。还可以看到更高的质量等级quality需要更高数值的alocohol。
根据不同的质量等级来看酒精的分布,结合对低计数值的放大图,可以看出,质量等级quality为9的白葡萄酒,较多存在于较高alcohol数值水平。质量等级quality为3的白葡萄酒,较多存在于较低alcohol数值水平。
与alcohol相关度最高的是density,我们接着来探索alcohol与density的关系
## Warning: Removed 98 rows containing non-finite values (stat_smooth).
忽略density1%的数值后,可以看出alcohol与density的关系是负相关。随着density增加,alcohol相应减少。
然后我们来看看quality与density的关系
## Warning: Removed 98 rows containing non-finite values (stat_boxplot).
## Warning: Removed 98 rows containing non-finite values (stat_summary).
## Warning: Removed 98 rows containing non-finite values (stat_smooth).
## Warning: Removed 99 rows containing missing values (geom_point).
忽略density1%的数值后,可以看出quality与density的关系是负相关,越高质量等级的白葡萄酒,密度越小。
下面开始分析total.sulfur.dioxide 和 density 关系
可以看出total.sulfur.dioxide与density的关系是正相关,越高数值的total.sulfur.dioxide白葡萄酒,density越大。
接下来,我们来看看total.sulfur.dioxide 和 quanlity 关系
## Warning: Removed 98 rows containing non-finite values (stat_boxplot).
## Warning: Removed 98 rows containing non-finite values (stat_summary).
## Warning: Removed 98 rows containing non-finite values (stat_smooth).
## Warning: Removed 103 rows containing missing values (geom_point).
忽略total.sulfur.dioxide1%的数值后,可以看出quality与total.sulfur.dioxide的关系是负相关,越高质量等级的白葡萄酒,二氧化硫总量越小。这个图跟quality与density的关系图很类似。
接下来看看,相关度最高的residual.sugar 与 density关系:
对局部进行放大,发现residual.sugar 与 density关系是很强的正相关,越高residual.sugar的葡萄酒,density越大。
下面开始分析quality 与 pH的关系:
quality 与 pH的关系是正相关,线性回归较为平缓。
我们接着来看看alcohol 与 pH的关系
alcohol 与 pH的关系是正相关,线性回归较为平缓。线性回归跟quality 与 pH的关系图很类似。
此次分析对象是白葡萄酒,那么我选择了酒精属性作为切入点,我首先分析了quality和alcohol的关系,根据不同的质量等级来看酒精的分布,发现更高的质量等级quality需要更高数值的alocohol。 接着我找到与alcohol相关度最高的是density,alcohol与density的关系是负相关。随着density增加,alcohol相应减少。 然后我分析了quality与density的关系,发现quality与density的关系是负相关,越高质量等级的白葡萄酒,密度越小。 最后我分析了quality与 pH的关系,发现quality 与 pH的关系是正相关,线性回归较为平缓。
我分析了total.sulfur.dioxide 和 quality 关系,quality与total.sulfur.dioxide的关系是负相关,越高质量等级的白葡萄酒,二氧化硫总量越小。它们的关系图跟quality与density的关系图很类似。 然后我分析了alcohol 与 pH的关系,是正相关,线性回归较为平缓。线性回归跟quality 与 pH的关系图很类似。
最强的关系是residual.sugar 与 density关系,相关度高达0.84,
我们首先分析alcohol、density 和 quality之间的关系
## Warning: Removed 3 rows containing missing values (geom_point).
从图上可知,alcohol数值越大,density数值越少,高等级quality的数量越多, 但由于数量大量集中于5,6,7质量等级,3,9等级的数量较少,很难看出3,9质量等级的数据分布。
我们过滤掉数量较大的5,6,7质量等级的白葡萄酒,看看3,4,8,9质量等级的数据分布,在alcohol=11之后,质量等级8,9的数量开始增多,质量等级8,9的数量开始减少。
下面我们来看看,alcohol、pH 和 quality之间的关系
从上图可以看出,pH=3.0时,quality为7,8,9的数量比pH=3.3时,quality为7,8,9的数量明显较少, alcohol=10时,quality为7,8,9的数量比alcohol=12时,quality为7,8,9的数量明显较少,
结合上图可以得出,alcohol和pH数值越大,越高等级quatily数量越多。pH对quality的影响相对比较微弱,
下面我们来看看,density、pH 和 quality之间的关系
## Warning: Removed 85 rows containing missing values (geom_point).
从图上可看出,density数值越小,quality的高等级数量越多,由于3,9等级的数量较少,很难看出3,9质量等级的数据分布。
## Warning: Removed 4 rows containing missing values (geom_point).
我们过滤掉数量较大的5,6,7质量等级的白葡萄酒,看看3,4,8,9质量等级的数据分布,发现质量等级为9的数量集中在pH > 3.25,desity < 0.992的区域。
下面我们来看看,total.sulfur.dioxide、density 和 quality之间的关系
## Warning: Removed 3 rows containing missing values (geom_point).
从上图可以得到,越小数值的total.sulfur.dioxide和越小数值的density,高质量等级的quality的数量越多。
alcohol数值越大,density数值越少,高等级quality的数量越多, alcohol和pH数值越大,越高等级quatily数量越多。 越小数值的total.sulfur.dioxide和越小数值的density,高质量等级的quality的数量越多。
从density、pH 和 quality之间的关系中可以得出,density数值越小,quality的高等级数量越多,但对比density,pH对quality的影响比较小。
否
alcohol和pH数值越大,越高等级quatily数量越多。 pH对quality的影响相对比较微弱,变化不明显。 质量等级quality为5,6,7的白葡萄酒数量较多,质量等级quality为3,4,8,9的白葡萄酒数量较少,特别是质量等级quality为9的数量最少。
## Warning: Removed 3 rows containing missing values (geom_point).
从图上可知,alcohol数值越大,density数值越少,高等级quality的数量越多,
## Warning: Removed 192 rows containing missing values (geom_point).
从上图可以得到,越小数值的total.sulfur.dioxide和越小数值的density,高质量等级的quality的数量越多。
我在分析中遇到的困难: 1. 质量等级quality = 3,9 的数据量太少,特别是质量等级为9的数据量非常少,一定程度影响了高质量等级的数据分布判断。 2. 没有建立一个用于预测质量等级的线性模型。 3. 对于R语言的学习掌握不够深入,很多方法不够熟悉,还需要进一步加强。
我在取得的成功: 1. 通过双变量和多变量探索分析,我得到一个结论:alcohol和pH的关系是正相关,虽然alcohol对quality影响较为微弱,但alcohol和quality的关系是正相关,pH和quality的关系也是正相关,所以pH和alcohol能相互加强对quality的关系。 2. 在多变量分析阶段,我通过添加较强的对比颜色,能让读者更好地分辨出高质量等级和低质量等级的区别。
我对将来的期待: 1.将来工作中如果可以增加更多的数据集,特别是质量等级>=9和质量等级<=3的数据量,减少当前部分质量等级数据量不足的缺点。 2. 能够建立一个用于预测质量等级的线性模型